Software programs, for use on computers and computer systems, are licensed and distributed to users in many forms. Unfortunately, many of the licensed programs are copied and/or further distributed in violation of the terms of the license agreement. Thus, there has been a continuing effort to implement a validating method for associating particular licensed programs with the purchaser of such programs so that unauthorized copies of the licensed program can be identified.
Most of the currently available software validating systems which have been implemented have not been totally effective. For example, when separate code sections or bit fields that identify particular licensed programs are included with the functional software code, the program-identifying code can be readily found and erased or deleted so that particular licensed programs cannot be traced and unauthorized copies cannot be detected.
With the increased use of Internet commerce, and the increasing licensing and downloading of software packages over the Internet, it is essential to have an improved method for identifying software packages and associating particular software packages with individual licensees or users in a manner that is more effective and more difficult to circumvent by unauthorized users.
In the past, identification keys, holograms, ID bit fields and other methods have been used to identify legitimate copies of licensed software packages. However, where such methods require physical objects, such as hard copy license agreements and/or serial numbers stamped on media carriers, they are not desirable for use, especially for programs that are downloaded from sites on the World Wide Web over the Internet.
Thus, there is a need for an improved system for identifying licensed software programs, especially where such programs are transferred over a network to licensed users.